package com.example.function.integration.controller;

import com.example.function.integration.service.InitTestDataToDBService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;


/**
 * @description：初始化测试数据到数据库控制层
 * @className：InitTestDataController
 * @author：ext.fengcheng
 * @date：2023/9/11 14:36
 */
@RestController
@RequestMapping("/init")
public class InitTestDataToDBController {

    @Resource
    private InitTestDataToDBService initTestDataToDBService;

    public static Logger logger = LoggerFactory.getLogger(InitTestDataToDBController.class);

    /**
     * @Description：初始化数据库数据
     * @Author： ext.fengcheng
     * @Date：2023/9/11 15:39
     * @Param： [tenantId, tableName]
     * @Return： java.lang.Boolean
     */
    @PostMapping("/testDataToDB")
    public Boolean importFileData(String tenantId, String tableName) {
        logger.info("importFileData.开始初始化数据库数据");
        try {
            // 开始导入文件数据，处理过程中，发生异常则直接结束
            boolean result = initTestDataToDBService.initDBData(tenantId, tableName);
            if (!result) {
                logger.info("初始化数据库数据失败！");
                return false;
            }
            logger.info("初始化数据库数据成功!");
            return true;
        } catch (Exception e) {
            logger.error("初始化数据库数据过程中发生异常，异常信息：{}", e);
            throw new RuntimeException(e);
        }
    }
}
